package chat

import (
	"context"
	"log"

	"github.com/libp2p/go-libp2p/core/host"
	"github.com/libp2p/go-libp2p/core/network"
)

// 启动服务端程序
//
//	ctx	流控
//	h	主机信息
//	st	函数侦听
func startPeer(ctx context.Context, h host.Host, st network.StreamHandler) {
	// 将函数设置为流处理程序。当对等方连接并使用此协议启动流时，会调用此函数。仅适用于接收方。
	h.SetStreamHandler("/chat/1.0.0", st)

	for _, v := range h.Addrs() {
		log.Printf("运行 'go run main.go -d %s/p2p/%s'", v, h.ID())
	}
	log.Println("您也可以将IP地址替换为外部IP")
	log.Println("正在等待传入连接...")
	log.Println()
}
